package com.dhecp.project.system.service;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.system.domain.SysMailTableInfo;

import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

public interface SysMailTableInfoService {

    /**通过id查询邮件
     * @return SysMailTableInfo
     */
    SysMailTableInfo queryMailByID(String id);

    /**
     * 通过传入的条件查询邮件列表
     * @param params
     * 		若存在键"nowherestr"（任意值），表示不进行条件过滤
     * @return List-SysMailTableInfo
     * @throws Exception
     * @author DH-Xxj
     */
    List<SysMailTableInfo> queryMailList(Map<String, Object> params) throws Exception;

    /**
     *	查询邮件列表存储过程
     * @return List-SysMailTableInfo
     * @throws Exception
     * @author DH-Xxj
     */
    List<SysMailTableInfo> findSystemMailList(Map<String, Object> params) throws Exception;
    
    /**
     *	搜索邮件列表存储过程
     * @return List-SysMailTableInfo
     * @throws Exception
     * @author DH-Xxj
     */
    List<SysMailTableInfo> querySystemMailList(Map<String, Object> params) throws Exception;
    
    /**
	 * 	查询未读通知数
	 * @param params reciveID
	 * @return
	 */
	Integer querySystemMailWds(Map<String, Object> params);
    
    /**新增邮件
     * @return MessageModel
     * @throws UnsupportedEncodingException 
     */
    AjaxResult insertMail(String mailInfoItems) throws UnsupportedEncodingException;

    /**删除邮件
     * @return MessageModel
     */
    AjaxResult deleteMail(String mailInfoItems);

    /**修改邮件
     * @return MessageModel
     * @throws UnsupportedEncodingException 
     */
    AjaxResult updateMail(Map<String, Object> params) throws UnsupportedEncodingException;

}
